CONTENTS | INDEX | PREV | NEXT
FUNCTION
Generate Romable Image
SYNOPSIS
Romable exeFile -o outFile [-o out2] -C addr -D addr -pi
DESCRIPTION
Romable takes an executable compiled by DICE, and generates a binary
image. This is normally used to generate a file for programming into
ROM.
exeFile input executable linked with dlink
-o outFile
output binary (unformatted -- raw). If TWO -o options are
specified the two output files will have even bytes and odd bytes
respectively, which is what you need when you must program two
eproms (one on the LSB data lines and one on the MSB data lines).
-C addr code start address, 0octal, decimal, or 0xHEX
-D addr data start address, 0octal, decimal, or 0xHEX
-DC place actual data+bss just after code (i.e. the result is
intended to be downloaded into RAM, there is no duplicate data in
this case). '-D addr' is not specified in this case
-pi generate a position independent module. Neither -C or -D are
specified in this case, and Romable will warn you have any
absolute references.
Note that your custom startup code determines how much of
__autoinit and __autoexit is to be supported. Note especially
that __autoinit0 MUST BE SUPPORTED because DICE will generate
__autoinit0 sections to handle 32 bit data relocations run-time.
Romable generates a raw output file or files with the EPROM code
first, and initialized data after the main code (still in EPROM)
which, as has already been described, will be copied to RAM on
reset by your startup routine.
This startup-copying of initialized data and clearing of BSS
makes it extremely easy to use DICE to generate ROMED
applications without having to deal with major porting
considerations.